import { createApp } from 'vue'
// 引入element-plus插件和样式
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// svg 插件需要配置代码
import 'virtual:svg-icons-register'
import App from '@/App.vue'
// 配置国际化
// 在vite-env.d.ts配置declare module "*.mjs"就没有Could not find a declaration file for module 'element-plus/dist/locale/zh-cn.mjs'.的报错了
// @ts-ignore
// 上句写法直接忽略当前文件ts类型的检测否则有红色提示(打包会失败)
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
// 引入自定义插件对象，注册整个项目全局组件
import globalComponent from './components/index';
// 引入模板全局样式
import '@/styles/index.scss'
import router from './router'
// 引入仓库
import pinia from './store'
// 引入路由鉴权
import '@/permission'
// 引入内置暗黑模式的样式
import 'element-plus/theme-chalk/dark/css-vars.css'
// 引入自定义指令文件
import { isHasButton } from '@/directive/has'
// 读取应用实例对象
const app = createApp(App)
// 安装element-plus插件
app.use(ElementPlus, {
  locale: zhCn, // 国际化配置
})
app.use(globalComponent);
// 安装仓库
app.use(pinia)
// 注册模板路由
app.use(router)
// 将 app 传入自定义指令的函数
isHasButton(app)
// 将应用挂载到挂在点上
app.mount('#app')